export class 按钮 {
    constructor() {
        this.属性 = {};
    }
    /**
     * 尺寸
     * @param {string} 大中小 - 按钮尺寸（大/中/小）
     */
    尺寸(大中小) {
        if (大中小 === "大") {
            this.属性.size = "large";
        } else if (大中小 === "小") {
            this.属性.size = "small";
        } else {
            this.属性.size = "default";
        }
        return this;
    }
    /**
     * 类型
     * @param {string} 类型 - 按钮类型（primary/success/warning/danger/info/text）
     */
    类型(类型) {
        this.属性.type = 类型;
        return this;
    }
    /**
     * 朴素按钮
     * @param {boolean} 是否 - 是否为朴素按钮
     */
    朴素按钮(是否) {
        this.属性.plain = 是否;
        return this;
    }
    /**
     * 文字按钮
     * @param {boolean} 是否 - 是否为文字按钮
     */
    文字按钮(是否) {
        this.属性.text = 是否;
        return this;
    }
    /**
     * 显示文字按钮背景颜色
     * @param {boolean} 是否
     */
    显示文字按钮背景颜色(是否) {
        this.属性.bg = 是否;
        return this;
    }
    /**
     * 链接按钮
     * @param {boolean} 是否
     */
    链接按钮(是否) {
        this.属性.link = 是否;
        return this;
    }
    /**
     * 圆角按钮
     * @param {boolean} 是否
     */
    圆角按钮(是否) {
        this.属性.round = 是否;
        return this;
    }
    /**
     * 圆形按钮
     * @param {boolean} 是否
     */
    圆形按钮(是否) {
        this.属性.circle = 是否;
        return this;
    }
    /**
     * 加载中状态
     * @param {boolean} 是否
     */
    加载中状态(是否) {
        this.属性.loading = 是否;
        return this;
    }
    /**
     * 自定义加载中状态图标组件
     * @param {string|Component} 图标
     */
    自定义加载中状态图标组件(图标) {
        this.属性['loading-icon'] = 图标;
        return this;
    }
    /**
     * 禁用状态
     * @param {boolean} 是否
     */
    禁用状态(是否) {
        this.属性.disabled = 是否;
        return this;
    }
    /**
     * 图标组件
     * @param {string|Component} 图标
     */
    图标组件(图标) {
        this.属性.icon = 图标;
        return this;
    }
    /**
     * 原生 autofocus 属性
     * @param {boolean} 是否
     */
    原生autofocus属性(是否) {
        this.属性.autofocus = 是否;
        return this;
    }
    /**
     * 原生 type 属性
     * @param {string} 类型
     */
    原生type属性(类型) {
        this.属性['native-type'] = 类型;
        return this;
    }
    /**
     * 自动插入空格
     * @param {boolean} 是否
     */
    自动插入空格(是否) {
        this.属性['auto-insert-space'] = 是否;
        return this;
    }
    /**
     * 自定义按钮颜色
     * @param {string} 颜色
     */
    自定义按钮颜色(颜色) {
        this.属性.color = 颜色;
        return this;
    }
    /**
     * 点击事件
     * @param {function} 方法
     */
    点击事件(方法) {
        this.属性.click = 方法;
        return this;
    }
    /**
     * 获取配置
     * @returns {object} 属性对象
     */
    a获取属性() {
        return this.属性;
    }
}

export class 表格 {
    constructor() {
        this.属性 = {};
        this.事件 = {};
    }
    /**
     * 显示的数据
     * @param {Array} 数据
     */
    显示数据(数据) {
        this.属性.data = 数据;
        return this;
    }
    /**
     * 表格高度
     * @param {string|number} 高度
     */
    表格高度(高度) {
        this.属性.height = 高度;
        return this;
    }
    /**
     * 表格最大高度
     * @param {string|number} 最大高度
     */
    表格最大高度(最大高度) {
        this.属性["max-height"] = 最大高度;
        return this;
    }
    /**
     * 是否为斑马纹
     * @param {boolean} 是否
     */
    斑马纹(是否) {
        this.属性.stripe = 是否;
        return this;
    }
    /**
     * 是否带有纵向边框
     * @param {boolean} 是否
     */
    纵向边框(是否) {
        this.属性.border = 是否;
        return this;
    }
    /**
     * 表格尺寸
     * @param {string} 尺寸 large/default/small
     */
    表格尺寸(尺寸) {
        this.属性.size = 尺寸;
        return this;
    }
    /**
     * 列宽自撑开
     * @param {boolean} 是否
     */
    列宽自撑开(是否) {
        this.属性.fit = 是否;
        return this;
    }
    /**
     * 是否显示表头
     * @param {boolean} 是否
     */
    显示表头(是否) {
        this.属性["show-header"] = 是否;
        return this;
    }
    /**
     * 高亮当前行
     * @param {boolean} 是否
     */
    高亮当前行(是否) {
        this.属性["highlight-current-row"] = 是否;
        return this;
    }
    /**
     * 总是显示滚动条
     * @param {boolean} 是否
     */
    总是显示滚动条(是否) {
        this.属性["scrollbar-always-on"] = 是否;
        return this;
    }
    /**
     * 溢出内容显示tooltip
     * @param {boolean} 是否
     */
    溢出内容tooltip(是否) {
        this.属性["show-overflow-tooltip"] = 是否;
        return this;
    }
    // 事件设置
    /**
     * 勾选数据行事件
     * @param {function} 方法
     */
    勾选数据行事件(方法) {
        this.事件.select = 方法;
        return this;
    }
    /**
     * 勾选全选事件
     * @param {function} 方法
     */
    勾选全选事件(方法) {
        this.事件["select-all"] = 方法;
        return this;
    }
    /**
     * 选择项变化事件
     * @param {function} 方法
     */
    选择项变化事件(方法) {
        this.事件["selection-change"] = 方法;
        return this;
    }
    /**
     * 单元格hover进入事件
     * @param {function} 方法
     */
    单元格hover进入事件(方法) {
        this.事件["cell-mouse-enter"] = 方法;
        return this;
    }
    /**
     * 单元格hover退出事件
     * @param {function} 方法
     */
    单元格hover退出事件(方法) {
        this.事件["cell-mouse-leave"] = 方法;
        return this;
    }
    /**
     * 单元格点击事件
     * @param {function} 方法
     */
    单元格点击事件(方法) {
        this.事件["cell-click"] = 方法;
        return this;
    }
    /**
     * 单元格双击事件
     * @param {function} 方法
     */
    单元格双击事件(方法) {
        this.事件["cell-dblclick"] = 方法;
        return this;
    }
    /**
     * 单元格右键事件
     * @param {function} 方法
     */
    单元格右键事件(方法) {
        this.事件["cell-contextmenu"] = 方法;
        return this;
    }
    /**
     * 行点击事件
     * @param {function} 方法
     */
    行点击事件(方法) {
        this.事件["row-click"] = 方法;
        return this;
    }
    /**
     * 行右键事件
     * @param {function} 方法
     */
    行右键事件(方法) {
        this.事件["row-contextmenu"] = 方法;
        return this;
    }
    /**
     * 行双击事件
     * @param {function} 方法
     */
    行双击事件(方法) {
        this.事件["row-dblclick"] = 方法;
        return this;
    }
    /**
     * 表头点击事件
     * @param {function} 方法
     */
    表头点击事件(方法) {
        this.事件["header-click"] = 方法;
        return this;
    }
    /**
     * 表头右键事件
     * @param {function} 方法
     */
    表头右键事件(方法) {
        this.事件["header-contextmenu"] = 方法;
        return this;
    }
    /**
     * 排序条件变化事件
     * @param {function} 方法
     */
    排序条件变化事件(方法) {
        this.事件["sort-change"] = 方法;
        return this;
    }
    // ...existing code...
    /**
     * 行样式类名
     * @param {function|string} 方法
     */
    行样式类名(方法) {
        this.属性['row-class-name'] = 方法;
        return this;
    }
    /**
     * 单元格样式类名
     * @param {function|string} 方法
     */
    单元格样式类名(方法) {
        this.属性['cell-class-name'] = 方法;
        return this;
    }
    /**
     * 表头单元格样式类名
     * @param {function|string} 方法
     */
    表头单元格样式类名(方法) {
        this.属性['header-cell-class-name'] = 方法;
        return this;
    }
    /**
     * 合并行或列的方法
     * @param {function} 方法
     */
    合并方法(方法) {
        this.属性['span-method'] = 方法;
        return this;
    }
    /**
     * 合计行数据计算方法
     * @param {function} 方法
     */
    合计方法(方法) {
        this.属性['summary-method'] = 方法;
        return this;
    }
    // 获取配置
    a获取属性() {
        return this.属性;
    }
    a获取事件() {
        return this.事件;
    }
}

export class 表格列 {
    constructor() {
        this.属性 = {};
    }
    /**
     * 列宽度
     * @param {string|number} 宽度
     */
    列宽度(宽度) {
        this.属性.width = 宽度;
        return this;
    }
    /**
     * 列最小宽度
     * @param {string|number} 最小宽度
     */
    列最小宽度(最小宽度) {
        this.属性['min-width'] = 最小宽度;
        return this;
    }
    /**
     * 列固定
     * @param {string|boolean} 固定 left/right/true/false
     */
    列固定(固定) {
        this.属性.fixed = 固定;
        return this;
    }
    /**
     * 是否可排序
     * @param {boolean|string} 排序 true/false/'custom'
     */
    可排序(排序) {
        this.属性.sortable = 排序;
        return this;
    }
    /**
     * 排序方法
     * @param {function} 方法
     */
    排序方法(方法) {
        this.属性[':sort-method'] = 方法;
        return this;
    }
    /**
     * 可拖动宽度
     * @param {boolean} 是否
     */
    可拖动宽度(是否) {
        this.属性.resizable = 是否;
        return this;
    }
    /**
     * 溢出内容显示tooltip
     * @param {boolean} 是否
     */
    溢出内容tooltip(是否) {
        this.属性['show-overflow-tooltip'] = 是否;
        return this;
    }
    /**
     * 对齐方式
     * @param {string} 方式 left/center/right
     */
    对齐方式(方式) {
        this.属性.align = 方式;
        return this;
    }
    /**
     * 表头对齐方式
     * @param {string} 方式 left/center/right
     */
    表头对齐方式(方式) {
        this.属性['header-align'] = 方式;
        return this;
    }
    /**
     * 保留选项
     * @param {boolean} 是否
     */
    保留选项(是否) {
        this.属性['reserve-selection'] = 是否;
        return this;
    }
    /**
     * 列类型
     * @param {string} 类型 selection/index/expand
     */
    列类型(类型) {
        this.属性.type = 类型;
        return this;
    }
    /**
     * 列索引
     * @param {number} 索引
     */
    列索引(索引) {
        this.属性.index = 索引;
        return this;
    }
    /**
     * 列标题
     * @param {string} 标题
     */
    列标题(标题) {
        this.属性.label = 标题;
        return this;
    }
    /**
     * 字段名
     * @param {string} 字段
     */
    字段名(字段) {
        this.属性.prop = 字段;
        return this;
    }
    /**
     * column-key
     * @param {string} 键
     */
    列键(键) {
        this.属性['column-key'] = 键;
        return this;
    }
    /**
     * 格式化方法
     * @param {function} 方法
     */
    格式化方法(方法) {
        this.属性.formatter = 方法;
        return this;
    }
    /**
     * 过滤选项
     * @param {Array} 选项
     */
    过滤选项(选项) {
        this.属性.filters = 选项;
        return this;
    }
    /**
     * 过滤弹出框定位
     * @param {string} 定位
     */
    过滤弹出框定位(定位) {
        this.属性['filter-placement'] = 定位;
        return this;
    }
    /**
     * 过滤多选
     * @param {boolean} 是否
     */
    过滤多选(是否) {
        this.属性['filter-multiple'] = 是否;
        return this;
    }
    /**
     * 过滤方法
     * @param {function} 方法
     */
    过滤方法(方法) {
        this.属性['filter-method'] = 方法;
        return this;
    }
    /**
     * 选中的过滤项
     * @param {Array} 值
     */
    选中过滤项(值) {
        this.属性['filtered-value'] = 值;
        return this;
    }
    /**
     * 获取配置
     * @returns {object} 属性对象
     */
    a获取属性() {
        return this.属性;
    }
}
// ...existing code...
export class 抽屉 {
    constructor() {
        this.属性 = {};
        this.事件 = {};
    }
    /**
     * 是否显示 Drawer
     * @param {boolean} 是否
     */
    显示(是否) {
        this.属性['v-model'] = 是否;
        return this;
    }
    /**
     * 插入至body
     * @param {boolean} 是否
     */
    插入至body(是否) {
        this.属性['append-to-body'] = 是否;
        return this;
    }
    /**
     * 锁定body滚动
     * @param {boolean} 是否
     */
    锁定滚动(是否) {
        this.属性['lock-scroll'] = 是否;
        return this;
    }
    /**
     * 点击遮罩关闭
     * @param {boolean} 是否
     */
    点击遮罩关闭(是否) {
        this.属性['close-on-click-modal'] = 是否;
        return this;
    }
    /**
     * 按ESC关闭
     * @param {boolean} 是否
     */
    按ESC关闭(是否) {
        this.属性['close-on-press-escape'] = 是否;
        return this;
    }
    /**
     * 打开延时
     * @param {number} 毫秒
     */
    打开延时(毫秒) {
        this.属性['open-delay'] = 毫秒;
        return this;
    }
    /**
     * 关闭延时
     * @param {number} 毫秒
     */
    关闭延时(毫秒) {
        this.属性['close-delay'] = 毫秒;
        return this;
    }
    /**
     * 自定义类名
     * @param {string} 类名
     */
    自定义类名(类名) {
        this.属性['custom-class'] = 类名;
        return this;
    }
    /**
     * 关闭销毁
     * @param {boolean} 是否
     */
    关闭销毁(是否) {
        this.属性['destroy-on-close'] = 是否;
        return this;
    }
    /**
     * 需要遮罩层
     * @param {boolean} 是否
     */
    需要遮罩层(是否) {
        this.属性['modal'] = 是否;
        return this;
    }
    /**
     * 打开方向
     * @param {string} 方向 rtl/ltr/ttb/btt
     */
    打开方向(方向) {
        this.属性['direction'] = 方向;
        return this;
    }
    /**
     * 显示关闭按钮
     * @param {boolean} 是否
     */
    显示关闭按钮(是否) {
        this.属性['show-close'] = 是否;
        return this;
    }
    /**
     * 窗体大小
     * @param {string|number} 大小
     */
    窗体大小(大小) {
        this.属性['size'] = 大小;
        return this;
    }
    /**
     * 标题
     * @param {string} 标题
     */
    标题(标题) {
        this.属性['title'] = 标题;
        return this;
    }
    /**
     * 显示header栏
     * @param {boolean} 是否
     */
    显示header栏(是否) {
        this.属性['with-header'] = 是否;
        return this;
    }
    /**
     * 遮罩层自定义类名
     * @param {string} 类名
     */
    遮罩层类名(类名) {
        this.属性['modal-class'] = 类名;
        return this;
    }
    /**
     * z-index
     * @param {number} zIndex
     */
    设置zIndex(zIndex) {
        this.属性['z-index'] = zIndex;
        return this;
    }
    /**
     * header aria-level
     * @param {string} 等级
     */
    headerAriaLevel(等级) {
        this.属性['header-aria-level'] = 等级;
        return this;
    }
    // 事件
    /**
     * 打开回调
     * @param {function} 方法
     */
    打开回调(方法) {
        this.事件.open = 方法;
        return this;
    }
    /**
     * 打开动画结束回调
     * @param {function} 方法
     */
    打开动画结束回调(方法) {
        this.事件.opened = 方法;
        return this;
    }
    /**
     * 关闭回调
     * @param {function} 方法
     */
    关闭回调(方法) {
        this.事件.close = 方法;
        return this;
    }
    /**
     * 关闭动画结束回调
     * @param {function} 方法
     */
    关闭动画结束回调(方法) {
        this.事件.closed = 方法;
        return this;
    }
    /**
     * 关闭前回调
     * @param {function} 方法
     */
    关闭前回调(方法) {
        this.事件['before-close'] = 方法;
        return this;
    }
    // 获取配置
    a获取属性() {
        return this.属性;
    }
    a获取事件() {
        return this.事件;
    }
}
// ...existing code...
export class 单选框 {
    constructor() {
        this.属性 = {};
    }
    /**
     * 选中项绑定值
     * @param {string|number|boolean} 值
     */
    绑定值(值) {
        this.属性.v_model = 值;
        return this;
    }
    /**
     * 单选框的值
     * @param {string|number|boolean} 值
     */
    单选值(值) {
        this.属性.label = 值;
        return this;
    }
    /**
     * 是否禁用
     * @param {boolean} 是否
     */
    禁用(是否) {
        this.属性.disabled = 是否;
        return this;
    }
    /**
     * 是否显示边框
     * @param {boolean} 是否
     */
    显示边框(是否) {
        this.属性.border = 是否;
        return this;
    }
    /**
     * 单选框尺寸
     * @param {string} 尺寸 large/default/small
     */
    尺寸(尺寸) {
        this.属性.size = 尺寸;
        return this;
    }
    /**
     * 原始 name 属性
     * @param {string} 名称
     */
    名称(名称) {
        this.属性.name = 名称;
        return this;
    }
    /**
     * 获取配置
     * @returns {object} 属性对象
     */
    a获取属性() {
        return this.属性;
    }
}
// ...existing code...
export class 对话框 {
    constructor() {
        this.属性 = {};
        this.事件 = {};
    }
    /**
     * 是否显示 Dialog
     * @param {boolean} 是否
     */
    显示(是否) {
        this.属性['v-model'] = 是否;
        return this;
    }
    /**
     * 标题
     * @param {string} 标题
     */
    标题(标题) {
        this.属性.title = 标题;
        return this;
    }
    /**
     * 宽度
     * @param {string|number} 宽度
     */
    宽度(宽度) {
        this.属性.width = 宽度;
        return this;
    }
    /**
     * 全屏
     * @param {boolean} 是否
     */
    全屏(是否) {
        this.属性.fullscreen = 是否;
        return this;
    }
    /**
     * margin-top
     * @param {string} 距离
     */
    顶部距离(距离) {
        this.属性.top = 距离;
        return this;
    }
    /**
     * 遮罩层
     * @param {boolean} 是否
     */
    遮罩层(是否) {
        this.属性.modal = 是否;
        return this;
    }
    /**
     * 遮罩自定义类名
     * @param {string} 类名
     */
    遮罩类名(类名) {
        this.属性['modal-class'] = 类名;
        return this;
    }
    /**
     * 插入至body
     * @param {boolean} 是否
     */
    插入至body(是否) {
        this.属性['append-to-body'] = 是否;
        return this;
    }
    /**
     * 挂载到指定DOM
     * @param {string} 选择器
     */
    挂载到(选择器) {
        this.属性['append-to'] = 选择器;
        return this;
    }
    /**
     * 锁定body滚动
     * @param {boolean} 是否
     */
    锁定滚动(是否) {
        this.属性['lock-scroll'] = 是否;
        return this;
    }
    /**
     * 自定义类名
     * @param {string} 类名
     */
    自定义类名(类名) {
        this.属性['custom-class'] = 类名;
        return this;
    }
    /**
     * 打开延时
     * @param {number} 毫秒
     */
    打开延时(毫秒) {
        this.属性['open-delay'] = 毫秒;
        return this;
    }
    /**
     * 关闭延时
     * @param {number} 毫秒
     */
    关闭延时(毫秒) {
        this.属性['close-delay'] = 毫秒;
        return this;
    }
    /**
     * 点击遮罩关闭
     * @param {boolean} 是否
     */
    点击遮罩关闭(是否) {
        this.属性['close-on-click-modal'] = 是否;
        return this;
    }
    /**
     * 按ESC关闭
     * @param {boolean} 是否
     */
    按ESC关闭(是否) {
        this.属性['close-on-press-escape'] = 是否;
        return this;
    }
    /**
     * 显示关闭按钮
     * @param {boolean} 是否
     */
    显示关闭按钮(是否) {
        this.属性['show-close'] = 是否;
        return this;
    }
    /**
     * 关闭前回调
     * @param {function} 方法
     */
    关闭前回调(方法) {
        this.属性[':before-close'] = 方法;
        return this;
    }
    /**
     * 可拖拽
     * @param {boolean} 是否
     */
    可拖拽(是否) {
        this.属性.draggable = 是否;
        return this;
    }
    /**
     * header/footer居中
     * @param {boolean} 是否
     */
    居中(是否) {
        this.属性.center = 是否;
        return this;
    }
    /**
     * 水平垂直居中
     * @param {boolean} 是否
     */
    水平垂直居中(是否) {
        this.属性['align-center'] = 是否;
        return this;
    }
    /**
     * 关闭销毁
     * @param {boolean} 是否
     */
    关闭销毁(是否) {
        this.属性['destroy-on-close'] = 是否;
        return this;
    }
    /**
     * 自定义关闭图标
     * @param {string|Component} 图标
     */
    关闭图标(图标) {
        this.属性['close-icon'] = 图标;
        return this;
    }
    /**
     * z-index
     * @param {number} zIndex
     */
    设置zIndex(zIndex) {
        this.属性['z-index'] = zIndex;
        return this;
    }
    /**
     * header aria-level
     * @param {string|number} 等级
     */
    headerAriaLevel(等级) {
        this.属性['header-aria-level'] = 等级;
        return this;
    }
    // 事件
    /**
     * 打开回调
     * @param {function} 方法
     */
    打开回调(方法) {
        this.事件.open = 方法;
        return this;
    }
    /**
     * 打开动画结束回调
     * @param {function} 方法
     */
    打开动画结束回调(方法) {
        this.事件.opened = 方法;
        return this;
    }
    /**
     * 关闭回调
     * @param {function} 方法
     */
    关闭回调(方法) {
        this.事件.close = 方法;
        return this;
    }
    /**
     * 关闭动画结束回调
     * @param {function} 方法
     */
    关闭动画结束回调(方法) {
        this.事件.closed = 方法;
        return this;
    }
    /**
     * 输入焦点聚焦回调
     * @param {function} 方法
     */
    输入焦点聚焦回调(方法) {
        this.事件['open-auto-focus'] = 方法;
        return this;
    }
    /**
     * 输入焦点失焦回调
     * @param {function} 方法
     */
    输入焦点失焦回调(方法) {
        this.事件['close-auto-focus'] = 方法;
        return this;
    }
    // 获取配置
    a获取属性() {
        return this.属性;
    }
    a获取事件() {
        return this.事件;
    }
}
// ...existing code...
export class 多选框 {
    constructor() {
        this.属性 = {};
    }
    /**
     * 选中时的值
     * @param {string|number} 值
     */
    选中值(值) {
        this.属性["true-label"] = 值;
        return this;
    }
    /**
     * 未选中时的值
     * @param {string|number} 值
     */
    未选中值(值) {
        this.属性["false-label"] = 值;
        return this;
    }
    /**
     * 是否禁用
     * @param {boolean} 是否
     */
    禁用(是否) {
        this.属性.disabled = 是否;
        return this;
    }
    /**
     * 是否显示边框
     * @param {boolean} 是否
     */
    显示边框(是否) {
        this.属性.border = 是否;
        return this;
    }
    /**
     * 多选框尺寸
     * @param {string} 尺寸 large/default/small
     */
    尺寸(尺寸) {
        this.属性.size = 尺寸;
        return this;
    }
    /**
     * 原生 name 属性
     * @param {string} 名称
     */
    名称(名称) {
        this.属性.name = 名称;
        return this;
    }
    /**
     * 当前是否勾选
     * @param {boolean} 是否
     */
    勾选(是否) {
        this.属性.checked = 是否;
        return this;
    }
    /**
     * 不确定状态（样式控制）
     * @param {boolean} 是否
     */
    不确定状态(是否) {
        this.属性.indeterminate = 是否;
        return this;
    }
    /**
     * 输入时是否触发表单校验
     * @param {boolean} 是否
     */
    校验事件(是否) {
        this.属性["validate-event"] = 是否;
        return this;
    }
    /**
     * 输入框的 tabindex
     * @param {string|number} 值
     */
    Tab索引(值) {
        this.属性.tabindex = 值;
        return this;
    }
    /**
     * 获取配置
     * @returns {object} 属性对象
     */
    a获取属性() {
        return this.属性;
    }
}
// ...existing code...
export class 多选框组 {
    constructor() {
        this.属性 = {};
    }
    /**
     * 绑定值
     * @param {Array} 值
     */
    绑定值(值) {
        this.属性.v_model = 值;
        return this;
    }
    /**
     * 多选框组尺寸
     * @param {string} 尺寸 large/default/small
     */
    尺寸(尺寸) {
        this.属性.size = 尺寸;
        return this;
    }
    /**
     * 是否禁用
     * @param {boolean} 是否
     */
    禁用(是否) {
        this.属性.disabled = 是否;
        return this;
    }
    /**
     * 可勾选的最小数量
     * @param {number} 数量
     */
    最小数量(数量) {
        this.属性.min = 数量;
        return this;
    }
    /**
     * 可勾选的最大数量
     * @param {number} 数量
     */
    最大数量(数量) {
        this.属性.max = 数量;
        return this;
    }
    /**
     * 屏幕阅读器标签
     * @param {string} 标签
     */
    阅读器标签(标签) {
        this.属性.label = 标签;
        return this;
    }
    /**
     * 活跃状态字体颜色
     * @param {string} 颜色
     */
    活跃字体颜色(颜色) {
        this.属性["text-color"] = 颜色;
        return this;
    }
    /**
     * 活跃状态边框和背景颜色
     * @param {string} 颜色
     */
    活跃边框背景颜色(颜色) {
        this.属性.fill = 颜色;
        return this;
    }
    /**
     * 元素标签
     * @param {string} 标签
     */
    元素标签(标签) {
        this.属性.tag = 标签;
        return this;
    }
    /**
     * 是否触发表单验证
     * @param {boolean} 是否
     */
    表单验证(是否) {
        this.属性["validate-event"] = 是否;
        return this;
    }
    /**
     * 获取配置
     * @returns {object} 属性对象
     */
    a获取属性() {
        return this.属性;
    }
}
// ...existing code...
export class 分页 {
    constructor() {
        this.属性 = {};
        this.事件 = {};
    }
    /**
     * 是否使用小型分页样式
     * @param {boolean} 是否
     */
    小型样式(是否) {
        this.属性.small = 是否;
        return this;
    }
    /**
     * 是否为分页按钮添加背景色
     * @param {boolean} 是否
     */
    按钮背景色(是否) {
        this.属性.background = 是否;
        return this;
    }
    /**
     * 每页显示条目个数
     * @param {number} 数量
     */
    每页条目数(数量) {
        this.属性['page-size'] = 数量;
        return this;
    }
    /**
     * 每页默认条目个数
     * @param {number} 数量
     */
    默认每页条目数(数量) {
        this.属性['default-page-size'] = 数量;
        return this;
    }
    /**
     * 总条目数
     * @param {number} 数量
     */
    总条目数(数量) {
        this.属性.total = 数量;
        return this;
    }
    /**
     * 总页数
     * @param {number} 数量
     */
    总页数(数量) {
        this.属性['page-count'] = 数量;
        return this;
    }
    /**
     * 最大页码按钮数
     * @param {number} 数量
     */
    最大页码按钮数(数量) {
        this.属性['pager-count'] = 数量;
        return this;
    }
    /**
     * 当前页数
     * @param {number} 页码
     */
    当前页数(页码) {
        this.属性['current-page'] = 页码;
        return this;
    }
    /**
     * 当前页数默认初始值
     * @param {number} 页码
     */
    默认当前页数(页码) {
        this.属性['default-current-page'] = 页码;
        return this;
    }
    /**
     * 组件布局
     * @param {string} 布局
     */
    组件布局(布局) {
        this.属性.layout = 布局;
        return this;
    }
    /**
     * 每页显示个数选择器的选项设置
     * @param {Array} 选项
     */
    每页选项设置(选项) {
        this.属性['page-sizes'] = 选项;
        return this;
    }
    /**
     * 下拉框类名
     * @param {string} 类名
     */
    下拉框类名(类名) {
        this.属性['popper-class'] = 类名;
        return this;
    }
    /**
     * 上一页文字
     * @param {string} 文本
     */
    上一页文字(文本) {
        this.属性['prev-text'] = 文本;
        return this;
    }
    /**
     * 上一页图标
     * @param {string|Component} 图标
     */
    上一页图标(图标) {
        this.属性['prev-icon'] = 图标;
        return this;
    }
    /**
     * 下一页文字
     * @param {string} 文本
     */
    下一页文字(文本) {
        this.属性['next-text'] = 文本;
        return this;
    }
    /**
     * 下一页图标
     * @param {string|Component} 图标
     */
    下一页图标(图标) {
        this.属性['next-icon'] = 图标;
        return this;
    }
    /**
     * 是否禁用分页
     * @param {boolean} 是否
     */
    禁用分页(是否) {
        this.属性.disabled = 是否;
        return this;
    }
    /**
     * 下拉菜单teleport至body
     * @param {boolean} 是否
     */
    下拉菜单至body(是否) {
        this.属性.teleported = 是否;
        return this;
    }
    /**
     * 只有一页时是否隐藏
     * @param {boolean} 是否
     */
    单页隐藏(是否) {
        this.属性['hide-on-single-page'] = 是否;
        return this;
    }
    // 事件
    /**
     * page-size改变时触发
     * @param {function} 方法
     */
    每页条目数改变事件(方法) {
        this.事件['size-change'] = 方法;
        return this;
    }
    /**
     * current-page改变时触发
     * @param {function} 方法
     */
    当前页数改变事件(方法) {
        this.事件['current-change'] = 方法;
        return this;
    }
    /**
     * current-page或page-size更改时触发
     * @param {function} 方法
     */
    页码或条目数更改事件(方法) {
        this.事件.change = 方法;
        return this;
    }
    /**
     * 用户点击上一页按钮事件
     * @param {function} 方法
     */
    上一页点击事件(方法) {
        this.事件['prev-click'] = 方法;
        return this;
    }
    /**
     * 用户点击下一页按钮事件
     * @param {function} 方法
     */
    下一页点击事件(方法) {
        this.事件['next-click'] = 方法;
        return this;
    }
    /**
     * 获取配置
     * @returns {object} 属性对象
     */
    a获取属性() {
        return this.属性;
    }
    /**
     * 获取事件
     * @returns {object} 事件对象
     */
    a获取事件() {
        return this.事件;
    }
}
// ...existing code...
export class 滚动条 {
    constructor() {
        this.属性 = {};
    }
    /**
     * 滚动条高度
     * @param {string|number} 高度
     */
    高度(高度) {
        this.属性.height = 高度;
        return this;
    }
    /**
     * 滚动条最大高度
     * @param {string|number} 最大高度
     */
    最大高度(最大高度) {
        this.属性["max-height"] = 最大高度;
        return this;
    }
    /**
     * 是否使用原生滚动条样式
     * @param {boolean} 是否
     */
    使用原生样式(是否) {
        this.属性.native = 是否;
        return this;
    }
    /**
     * 滚动条总是显示
     * @param {boolean} 是否
     */
    总是显示(是否) {
        this.属性.always = 是否;
        return this;
    }
    /**
     * 滚动条最小尺寸
     * @param {number} 尺寸
     */
    最小尺寸(尺寸) {
        this.属性["min-size"] = 尺寸;
        return this;
    }
    /**
     * 获取配置
     * @returns {object} 属性对象
     */
    a获取属性() {
        return this.属性;
    }
}
// ...existing code...
export class 开关 {
    constructor() {
        this.属性 = {};
    }
    /**
     * 绑定值
     * @param {boolean|string|number} 值
     */
    绑定值(值) {
        this.属性['v-model'] = 值;
        return this;
    }
    /**
     * 是否禁用
     * @param {boolean} 是否
     */
    禁用(是否) {
        this.属性.disabled = 是否;
        return this;
    }
    /**
     * 是否显示加载中
     * @param {boolean} 是否
     */
    加载中(是否) {
        this.属性.loading = 是否;
        return this;
    }
    /**
     * 开关大小
     * @param {string} 尺寸 large/default/small
     */
    尺寸(尺寸) {
        this.属性.size = 尺寸;
        return this;
    }
    /**
     * 开关宽度
     * @param {string|number} 宽度
     */
    宽度(宽度) {
        this.属性.width = 宽度;
        return this;
    }
    /**
     * 点内显示文本或图标
     * @param {boolean} 是否
     */
    点内显示(是否) {
        this.属性['inline-prompt'] = 是否;
        return this;
    }
    /**
     * on状态图标
     * @param {string|Component} 图标
     */
    打开图标(图标) {
        this.属性['active-icon'] = 图标;
        return this;
    }
    /**
     * off状态图标
     * @param {string|Component} 图标
     */
    关闭图标(图标) {
        this.属性['inactive-icon'] = 图标;
        return this;
    }
    /**
     * on状态图标组件
     * @param {string|Component} 图标
     */
    打开图标组件(图标) {
        this.属性['active-action-icon'] = 图标;
        return this;
    }
    /**
     * off状态图标组件
     * @param {string|Component} 图标
     */
    关闭图标组件(图标) {
        this.属性['inactive-action-icon'] = 图标;
        return this;
    }
    /**
     * 打开时文字描述
     * @param {string} 文本
     */
    打开文字(文本) {
        this.属性['active-text'] = 文本;
        return this;
    }
    /**
     * 关闭时文字描述
     * @param {string} 文本
     */
    关闭文字(文本) {
        this.属性['inactive-text'] = 文本;
        return this;
    }
    /**
     * 打开时的值
     * @param {boolean|string|number} 值
     */
    打开值(值) {
        this.属性['active-value'] = 值;
        return this;
    }
    /**
     * 关闭时的值
     * @param {boolean|string|number} 值
     */
    关闭值(值) {
        this.属性['inactive-value'] = 值;
        return this;
    }
    /**
     * 获取配置
     * @returns {object} 属性对象
     */
    a获取属性() {
        return this.属性;
    }
}
// ...existing code...
export class 链接 {
    constructor() {
        this.属性 = {};
    }
    /**
     * 链接类型
     * @param {string} 类型 primary/success/warning/danger/info/text
     */
    类型(类型) {
        this.属性.type = 类型;
        return this;
    }
    /**
     * 是否下划线
     * @param {boolean} 是否
     */
    下划线(是否) {
        this.属性.underline = 是否;
        return this;
    }
    /**
     * 是否禁用
     * @param {boolean} 是否
     */
    禁用(是否) {
        this.属性.disabled = 是否;
        return this;
    }
    /**
     * 原生 href 属性
     * @param {string} 地址
     */
    链接地址(地址) {
        this.属性.href = 地址;
        return this;
    }
    /**
     * 图标组件
     * @param {string|Component} 图标
     */
    图标(图标) {
        this.属性.icon = 图标;
        return this;
    }
    /**
     * 网页跳转方式
     * @param {string} 方式 _blank/_self/_parent/_top
     */
    跳转方式(方式) {
        this.属性.target = 方式;
        return this;
    }
    /**
     * 获取配置
     * @returns {object} 属性对象
     */
    a获取属性() {
        return this.属性;
    }
}
// ...existing code...
export class 日期选择器 {
    constructor() {
        this.属性 = {};
    }
    /**
     * 绑定值
     * @param {string|number|object|Array} 值
     */
    绑定值(值) {
        this.属性['v-model'] = 值;
        return this;
    }
    /**
     * 只读
     * @param {boolean} 是否
     */
    只读(是否) {
        this.属性.readonly = 是否;
        return this;
    }
    /**
     * 禁用
     * @param {boolean} 是否
     */
    禁用(是否) {
        this.属性.disabled = 是否;
        return this;
    }
    /**
     * 输入框尺寸
     * @param {string} 尺寸 large/default/small
     */
    尺寸(尺寸) {
        this.属性.size = 尺寸;
        return this;
    }
    /**
     * 文本框可输入
     * @param {boolean} 是否
     */
    可输入(是否) {
        this.属性.editable = 是否;
        return this;
    }
    /**
     * 是否显示清除按钮
     * @param {boolean} 是否
     */
    显示清除按钮(是否) {
        this.属性.clearable = 是否;
        return this;
    }
    /**
     * 非范围选择时的占位内容
     * @param {string} 内容
     */
    占位内容(内容) {
        this.属性.placeholder = 内容;
        return this;
    }
    /**
     * 范围选择时开始日期的占位内容
     * @param {string} 内容
     */
    开始占位内容(内容) {
        this.属性["start-placeholder"] = 内容;
        return this;
    }
    /**
     * 范围选择时结束日期的占位内容
     * @param {string} 内容
     */
    结束占位内容(内容) {
        this.属性["end-placeholder"] = 内容;
        return this;
    }
    /**
     * 显示类型
     * @param {string} 类型 date/daterange/datetime等
     */
    类型(类型) {
        this.属性.type = 类型;
        return this;
    }
    /**
     * 显示在输入框中的格式
     * @param {string} 格式
     */
    显示格式(格式) {
        this.属性.format = 格式;
        return this;
    }
    /**
     * 下拉框类名
     * @param {string} 类名
     */
    下拉框类名(类名) {
        this.属性["popper-class"] = 类名;
        return this;
    }
    /**
     * 下拉框选项
     * @param {object} 选项
     */
    下拉框选项(选项) {
        this.属性["popper-options"] = 选项;
        return this;
    }
    /**
     * 范围分隔符
     * @param {string} 分隔符
     */
    范围分隔符(分隔符) {
        this.属性["range-separator"] = 分隔符;
        return this;
    }
    /**
     * 打开时默认显示的时间
     * @param {object} 时间
     */
    默认显示时间(时间) {
        this.属性["default-value"] = 时间;
        return this;
    }
    /**
     * 范围选择时选中日期的具体时刻
     * @param {object} 时间
     */
    范围默认时间(时间) {
        this.属性["default-time"] = 时间;
        return this;
    }
    /**
     * 绑定值的格式
     * @param {string} 格式
     */
    绑定值格式(格式) {
        this.属性["value-format"] = 格式;
        return this;
    }
    /**
     * input id
     * @param {string|object} id
     */
    输入框id(id) {
        this.属性.id = id;
        return this;
    }
    /**
     * input name
     * @param {string|object} name
     */
    输入框name(name) {
        this.属性.name = name;
        return this;
    }
    /**
     * 取消面板联动
     * @param {boolean} 是否
     */
    取消面板联动(是否) {
        this.属性["unlink-panels"] = 是否;
        return this;
    }
    /**
     * 前缀图标
     * @param {string|object} 图标
     */
    前缀图标(图标) {
        this.属性["prefix-icon"] = 图标;
        return this;
    }
    /**
     * 清除图标
     * @param {string|object} 图标
     */
    清除图标(图标) {
        this.属性["clear-icon"] = 图标;
        return this;
    }
    /**
     * 是否触发表单验证
     * @param {boolean} 是否
     */
    表单验证(是否) {
        this.属性["validate-event"] = 是否;
        return this;
    }
    /**
     * 禁用日期方法
     * @param {function} 方法
     */
    禁用日期方法(方法) {
        this.属性["disabled-date"] = 方法;
        return this;
    }
    /**
     * 快捷选项
     * @param {Array} 选项
     */
    快捷选项(选项) {
        this.属性.shortcuts = 选项;
        return this;
    }
    /**
     * 自定义类名方法
     * @param {function} 方法
     */
    自定义类名方法(方法) {
        this.属性["cell-class-name"] = 方法;
        return this;
    }
    /**
     * 下拉列表插入至body
     * @param {boolean} 是否
     */
    下拉插入body(是否) {
        this.属性.teleported = 是否;
        return this;
    }
    /**
     * 获取配置
     * @returns {object} 属性对象
     */
    a获取属性() {
        return this.属性;
    }
}
// ...existing code...
export class 输入框 {
    constructor() {
        this.属性 = {};
        this.事件 = {};
    }
    /**
     * 类型
     * @param {string} 类型 text/textarea/password/number等
     */
    类型(类型) {
        this.属性.type = 类型;
        return this;
    }
    /**
     * 绑定值
     * @param {string|number} 值
     */
    绑定值(值) {
        this.属性.v_model = 值;
        return this;
    }
    /**
     * 最大输入长度
     * @param {number} 长度
     */
    最大长度(长度) {
        this.属性.maxlength = 长度;
        return this;
    }
    /**
     * 最小输入长度
     * @param {number} 长度
     */
    最小长度(长度) {
        this.属性.minlength = 长度;
        return this;
    }
    /**
     * 是否显示统计字数
     * @param {boolean} 是否
     */
    显示统计字数(是否) {
        this.属性['show-word-limit'] = 是否;
        return this;
    }
    /**
     * 占位文本
     * @param {string} 文本
     */
    占位文本(文本) {
        this.属性.placeholder = 文本;
        return this;
    }
    /**
     * 是否显示清除按钮
     * @param {boolean} 是否
     */
    显示清除按钮(是否) {
        this.属性.clearable = 是否;
        return this;
    }
    /**
     * 输入值格式化方法
     * @param {function} 方法
     */
    格式化方法(方法) {
        this.属性.formatter = 方法;
        return this;
    }
    /**
     * 格式化器输入提取方法
     * @param {function} 方法
     */
    提取方法(方法) {
        this.属性.parser = 方法;
        return this;
    }
    /**
     * 是否显示切换密码图标
     * @param {boolean} 是否
     */
    显示密码图标(是否) {
        this.属性['show-password'] = 是否;
        return this;
    }
    /**
     * 是否禁用
     * @param {boolean} 是否
     */
    禁用(是否) {
        this.属性.disabled = 是否;
        return this;
    }
    /**
     * 输入框尺寸
     * @param {string} 尺寸 large/default/small
     */
    尺寸(尺寸) {
        this.属性.size = 尺寸;
        return this;
    }
    /**
     * 前缀图标
     * @param {string|Component} 图标
     */
    前缀图标(图标) {
        this.属性['prefix-icon'] = 图标;
        return this;
    }
    /**
     * 后缀图标
     * @param {string|Component} 图标
     */
    后缀图标(图标) {
        this.属性['suffix-icon'] = 图标;
        return this;
    }
    /**
     * 输入框行数
     * @param {number} 行数
     */
    行数(行数) {
        this.属性.rows = 行数;
        return this;
    }
    /**
     * textarea自适应
     * @param {boolean|object} 配置
     */
    自适应(配置) {
        this.属性.autosize = 配置;
        return this;
    }
    /**
     * autocomplete属性
     * @param {string} 值
     */
    自动完成(值) {
        this.属性.autocomplete = 值;
        return this;
    }
    /**
     * name属性
     * @param {string} 名称
     */
    名称(名称) {
        this.属性.name = 名称;
        return this;
    }
    /**
     * 只读
     * @param {boolean} 是否
     */
    只读(是否) {
        this.属性.readonly = 是否;
        return this;
    }
    /**
     * 最大值
     * @param {number} 值
     */
    最大值(值) {
        this.属性.max = 值;
        return this;
    }
    /**
     * 最小值
     * @param {number} 值
     */
    最小值(值) {
        this.属性.min = 值;
        return this;
    }
    /**
     * 输入字段合法数字间隔
     * @param {number} 间隔
     */
    数字间隔(间隔) {
        this.属性.step = 间隔;
        return this;
    }
    /**
     * 是否可缩放
     * @param {string} 类型
     */
    可缩放(类型) {
        this.属性.resize = 类型;
        return this;
    }
    /**
     * 自动获取焦点
     * @param {boolean} 是否
     */
    自动获取焦点(是否) {
        this.属性.autofocus = 是否;
        return this;
    }
    /**
     * form属性
     * @param {string} 表单名
     */
    表单名(表单名) {
        this.属性.form = 表单名;
        return this;
    }
    /**
     * aria-label属性
     * @param {string} 标签
     */
    标签(标签) {
        this.属性.label = 标签;
        return this;
    }
    /**
     * tabindex属性
     * @param {string|number} 值
     */
    Tab索引(值) {
        this.属性.tabindex = 值;
        return this;
    }
    /**
     * 输入时是否触发表单校验
     * @param {boolean} 是否
     */
    表单校验(是否) {
        this.属性['validate-event'] = 是否;
        return this;
    }
    /**
     * 输入框样式
     * @param {string|object} 样式
     */
    输入框样式(样式) {
        this.属性['input-style'] = 样式;
        return this;
    }
    // 事件
    /**
     * 失去焦点事件
     * @param {function} 方法
     */
    失去焦点事件(方法) {
        this.事件.blur = 方法;
        return this;
    }
    /**
     * 获得焦点事件
     * @param {function} 方法
     */
    获得焦点事件(方法) {
        this.事件.focus = 方法;
        return this;
    }
    /**
     * 输入完成事件
     * @param {function} 方法
     */
    输入完成事件(方法) {
        this.事件.change = 方法;
        return this;
    }
    /**
     * 输入值改变事件
     * @param {function} 方法
     */
    输入值改变事件(方法) {
        this.事件.input = 方法;
        return this;
    }
    /**
     * 清空事件
     * @param {function} 方法
     */
    清空事件(方法) {
        this.事件.clear = 方法;
        return this;
    }
    /**
     * 获取属性
     * @returns {object} 属性对象
     */
    a获取属性() {
        return this.属性;
    }
    /**
     * 获取事件
     * @returns {object} 事件对象
     */
    a获取事件() {
        return this.事件;
    }
}
// ...existing code...
export class 下拉选择器 {
    constructor() {
        this.属性 = {};
    }
    /**
     * 选中项绑定值
     * @param {string|number|boolean|object|array} 值
     */
    绑定值(值) {
        this.属性['v-model'] = 值;
        return this;
    }
    /**
     * 是否多选
     * @param {boolean} 是否
     */
    多选(是否) {
        this.属性.multiple = 是否;
        return this;
    }
    /**
     * 是否禁用
     * @param {boolean} 是否
     */
    禁用(是否) {
        this.属性.disabled = 是否;
        return this;
    }
    /**
     * 作为 value 唯一标识的键名
     * @param {string} 键名
     */
    唯一键名(键名) {
        this.属性['value-key'] = 键名;
        return this;
    }
    /**
     * 输入框尺寸
     * @param {string} 尺寸 large/default/small
     */
    尺寸(尺寸) {
        this.属性.size = 尺寸;
        return this;
    }
    /**
     * 是否可以清空选项
     * @param {boolean} 是否
     */
    可清空(是否) {
        this.属性.clearable = 是否;
        return this;
    }
    /**
     * 多选时是否将选中值按文字的形式展示
     * @param {boolean} 是否
     */
    折叠标签(是否) {
        this.属性['collapse-tags'] = 是否;
        return this;
    }
    /**
     * 鼠标悬停折叠标签时显示所有选中标签
     * @param {boolean} 是否
     */
    折叠标签提示(是否) {
        this.属性['collapse-tags-tooltip'] = 是否;
        return this;
    }
    /**
     * 多选场景下最多可选项目数
     * @param {number} 数量
     */
    多选限制(数量) {
        this.属性['multiple-limit'] = 数量;
        return this;
    }
    /**
     * 原生 name 属性
     * @param {string} 名称
     */
    名称(名称) {
        this.属性.name = 名称;
        return this;
    }
    /**
     * tooltip 主题
     * @param {string} 主题 dark/light
     */
    主题(主题) {
        this.属性.effect = 主题;
        return this;
    }
    /**
     * autocomplete 属性
     * @param {string} 值
     */
    自动完成(值) {
        this.属性.autocomplete = 值;
        return this;
    }
    /**
     * 占位符
     * @param {string} 文本
     */
    占位符(文本) {
        this.属性.placeholder = 文本;
        return this;
    }
    /**
     * 是否可筛选
     * @param {boolean} 是否
     */
    可筛选(是否) {
        this.属性.filterable = 是否;
        return this;
    }
    /**
     * 允许创建新条目
     * @param {boolean} 是否
     */
    允许创建(是否) {
        this.属性['allow-create'] = 是否;
        return this;
    }
    /**
     * 自定义筛选方法
     * @param {function} 方法
     */
    筛选方法(方法) {
        this.属性['filter-method'] = 方法;
        return this;
    }
    /**
     * 选项是否远程加载
     * @param {boolean} 是否
     */
    远程加载(是否) {
        this.属性.remote = 是否;
        return this;
    }
    /**
     * 自定义远程搜索方法
     * @param {function} 方法
     */
    远程搜索方法(方法) {
        this.属性['remote-method'] = 方法;
        return this;
    }
    /**
     * 远程搜索显示后缀图标
     * @param {boolean} 是否
     */
    远程后缀图标(是否) {
        this.属性['remote-show-suffix'] = 是否;
        return this;
    }
    /**
     * 是否正在远程获取数据
     * @param {boolean} 是否
     */
    加载中(是否) {
        this.属性.loading = 是否;
        return this;
    }
    /**
     * 远程加载显示文本
     * @param {string} 文本
     */
    加载中文本(文本) {
        this.属性['loading-text'] = 文本;
        return this;
    }
    /**
     * 无匹配时显示文本
     * @param {string} 文本
     */
    无匹配文本(文本) {
        this.属性['no-match-text'] = 文本;
        return this;
    }
    /**
     * 无选项时显示文本
     * @param {string} 文本
     */
    无选项文本(文本) {
        this.属性['no-data-text'] = 文本;
        return this;
    }
    /**
     * 下拉菜单自定义类名
     * @param {string} 类名
     */
    下拉菜单类名(类名) {
        this.属性['popper-class'] = 类名;
        return this;
    }
    /**
     * 多选筛选保留关键词
     * @param {boolean} 是否
     */
    保留关键词(是否) {
        this.属性['reserve-keyword'] = 是否;
        return this;
    }
    /**
     * 输入框回车选第一个匹配项
     * @param {boolean} 是否
     */
    回车选第一个(是否) {
        this.属性['default-first-option'] = 是否;
        return this;
    }
    /**
     * 下拉列表插入至body
     * @param {boolean} 是否
     */
    插入body(是否) {
        this.属性.teleported = 是否;
        return this;
    }
    /**
     * 未激活时删除选择器
     * @param {boolean} 是否
     */
    未激活删除(是否) {
        this.属性.persistent = 是否;
        return this;
    }
    /**
     * 获得焦点自动弹出菜单
     * @param {boolean} 是否
     */
    自动弹出菜单(是否) {
        this.属性['automatic-dropdown'] = 是否;
        return this;
    }
    /**
     * 自定义清除图标
     * @param {string|object} 图标
     */
    清除图标(图标) {
        this.属性['clear-icon'] = 图标;
        return this;
    }
    /**
     * 下拉框宽度与输入框一致
     * @param {boolean} 是否
     */
    宽度一致(是否) {
        this.属性['fit-input-width'] = 是否;
        return this;
    }
    /**
     * 自定义后缀图标组件
     * @param {string|object} 图标
     */
    后缀图标(图标) {
        this.属性['suffix-icon'] = 图标;
        return this;
    }
    /**
     * 后缀图标动画
     * @param {boolean} 是否
     */
    后缀动画(是否) {
        this.属性['suffix-transition'] = 是否;
        return this;
    }
    /**
     * 标签类型
     * @param {string} 类型
     */
    标签类型(类型) {
        this.属性['tag-type'] = 类型;
        return this;
    }
    /**
     * 是否触发表单验证
     * @param {boolean} 是否
     */
    表单验证(是否) {
        this.属性['validate-event'] = 是否;
        return this;
    }
    /**
     * 下拉框出现位置
     * @param {string} 位置
     */
    下拉位置(位置) {
        this.属性.placement = 位置;
        return this;
    }
    /**
     * 显示的Tag最大数量
     * @param {number} 数量
     */
    最大标签数量(数量) {
        this.属性['max-collapse-tags'] = 数量;
        return this;
    }
    /**
     * popper.js参数
     * @param {object} 参数
     */
    Popper参数(参数) {
        this.属性['popper-options'] = 参数;
        return this;
    }
    /**
     * aria-label属性
     * @param {string} 标签
     */
    标签(标签) {
        this.属性['aria-label'] = 标签;
        return this;
    }
    /**
     * 获取配置
     * @returns {object} 属性对象
     */
    a获取属性() {
        return this.属性;
    }
}
// ...existing code...
export class 消息弹框 {
    constructor() {
        this.属性 = {};
        this.事件 = {};
    }
    /**
     * 信息框的模式
     * @param {string} 类型 alert/confirm/prompt
     */
    模式(类型) {
        this.属性.类型 = 类型;
        return this;
    }
    /**
     * 自动获得焦点
     * @param {boolean} 是否
     */
    自动获得焦点(是否) {
        this.属性.autofocus = 是否;
        return this;
    }
    /**
     * 标题
     * @param {string} 标题
     */
    标题(标题) {
        this.属性.title = 标题;
        return this;
    }
    /**
     * 正文内容
     * @param {string|VNode|Function} 内容
     */
    正文内容(内容) {
        this.属性.message = 内容;
        return this;
    }
    /**
     * message作为HTML片段处理
     * @param {boolean} 是否
     */
    HTML片段(是否) {
        this.属性.dangerouslyUseHTMLString = 是否;
        return this;
    }
    /**
     * 消息类型（图标显示）
     * @param {string} 类型 success/info/warning/error
     */
    消息类型(类型) {
        this.属性.type = 类型;
        return this;
    }
    /**
     * 自定义图标组件
     * @param {string|Component} 图标
     */
    图标(图标) {
        this.属性.icon = 图标;
        return this;
    }
    /**
     * 自定义类名
     * @param {string} 类名
     */
    自定义类名(类名) {
        this.属性.customClass = 类名;
        return this;
    }
    /**
     * 自定义内联样式
     * @param {object} 样式
     */
    自定义样式(样式) {
        this.属性.customStyle = 样式;
        return this;
    }
    /**
     * 显示右上角关闭按钮
     * @param {boolean} 是否
     */
    显示关闭按钮(是否) {
        this.属性.showClose = 是否;
        return this;
    }
    /**
     * 区分取消与关闭
     * @param {boolean} 是否
     */
    区分取消与关闭(是否) {
        this.属性.distinguishCancelAndClose = 是否;
        return this;
    }
    /**
     * 锁定body滚动
     * @param {boolean} 是否
     */
    锁定滚动(是否) {
        this.属性.lockScroll = 是否;
        return this;
    }
    /**
     * 显示取消按钮
     * @param {boolean} 是否
     */
    显示取消按钮(是否) {
        this.属性.showCancelButton = 是否;
        return this;
    }
    /**
     * 显示确定按钮
     * @param {boolean} 是否
     */
    显示确定按钮(是否) {
        this.属性.showConfirmButton = 是否;
        return this;
    }
    /**
     * 取消按钮文本
     * @param {string} 文本
     */
    取消按钮文本(文本) {
        this.属性.cancelButtonText = 文本;
        return this;
    }
    /**
     * 确定按钮文本
     * @param {string} 文本
     */
    确定按钮文本(文本) {
        this.属性.confirmButtonText = 文本;
        return this;
    }
    /**
     * 取消按钮类名
     * @param {string} 类名
     */
    取消按钮类名(类名) {
        this.属性.cancelButtonClass = 类名;
        return this;
    }
    /**
     * 确定按钮类名
     * @param {string} 类名
     */
    确定按钮类名(类名) {
        this.属性.confirmButtonClass = 类名;
        return this;
    }
    /**
     * 点击遮罩关闭
     * @param {boolean} 是否
     */
    点击遮罩关闭(是否) {
        this.属性.closeOnClickModal = 是否;
        return this;
    }
    /**
     * 按ESC关闭
     * @param {boolean} 是否
     */
    按ESC关闭(是否) {
        this.属性.closeOnPressEscape = 是否;
        return this;
    }
    /**
     * hash改变时关闭
     * @param {boolean} 是否
     */
    hash改变关闭(是否) {
        this.属性.closeOnHashChange = 是否;
        return this;
    }
    /**
     * 显示输入框
     * @param {boolean} 是否
     */
    显示输入框(是否) {
        this.属性.showInput = 是否;
        return this;
    }
    /**
     * 输入框占位文本
     * @param {string} 文本
     */
    输入框占位文本(文本) {
        this.属性.inputPlaceholder = 文本;
        return this;
    }
    /**
     * 输入框类型
     * @param {string} 类型 text/textarea/password/number
     */
    输入框类型(类型) {
        this.属性.inputType = 类型;
        return this;
    }
    /**
     * 输入框初始文本
     * @param {string} 文本
     */
    输入框初始文本(文本) {
        this.属性.inputValue = 文本;
        return this;
    }
    /**
     * 输入框校验表达式
     * @param {RegExp} 表达式
     */
    输入框校验表达式(表达式) {
        this.属性.inputPattern = 表达式;
        return this;
    }
    /**
     * 输入框校验函数
     * @param {function} 方法
     */
    输入框校验函数(方法) {
        this.属性.inputValidator = 方法;
        return this;
    }
    /**
     * 校验未通过提示文本
     * @param {string} 文本
     */
    校验未通过提示文本(文本) {
        this.属性.inputErrorMessage = 文本;
        return this;
    }
    /**
     * 居中布局
     * @param {boolean} 是否
     */
    居中布局(是否) {
        this.属性.center = 是否;
        return this;
    }
    /**
     * 可拖放
     * @param {boolean} 是否
     */
    可拖放(是否) {
        this.属性.draggable = 是否;
        return this;
    }
    /**
     * 圆角按钮
     * @param {boolean} 是否
     */
    圆角按钮(是否) {
        this.属性.roundButton = 是否;
        return this;
    }
    /**
     * 按钮大小
     * @param {string} 大小 large/default/small
     */
    按钮大小(大小) {
        this.属性.buttonSize = 大小;
        return this;
    }
    /**
     * 根元素
     * @param {string|HTMLElement} 元素
     */
    根元素(元素) {
        this.属性.appendTo = 元素;
        return this;
    }
    // 事件
    /**
     * 关闭前回调
     * @param {function} 方法
     */
    关闭前回调(方法) {
        this.事件.beforeClose = 方法;
        return this;
    }
    /**
     * 关闭后回调
     * @param {function} 方法
     */
    关闭后回调(方法) {
        this.事件.callback = 方法;
        return this;
    }
    /**
     * 获取属性
     * @returns {object} 属性对象
     */
    a获取属性() {
        return this.属性;
    }
    /**
     * 获取事件
     * @returns {object} 事件对象
     */
    a获取事件() {
        return this.事件;
    }
}
// ...existing code...
export class 消息提示 {
    constructor() {
        this.属性 = {};
        this.事件 = {};
    }
    /**
     * 消息文字
     * @param {string|VNode|Function} 内容
     */
    消息文字(内容) {
        this.属性.message = 内容;
        return this;
    }
    /**
     * 消息类型
     * @param {string} 类型 success/warning/info/error
     */
    消息类型(类型) {
        this.属性.type = 类型;
        return this;
    }
    /**
     * 自定义图标
     * @param {string|Component} 图标
     */
    图标(图标) {
        this.属性.icon = 图标;
        return this;
    }
    /**
     * 是否将 message 作为 HTML 片段处理
     * @param {boolean} 是否
     */
    HTML片段(是否) {
        this.属性.dangerouslyUseHTMLString = 是否;
        return this;
    }
    /**
     * 自定义类名
     * @param {string} 类名
     */
    自定义类名(类名) {
        this.属性.customClass = 类名;
        return this;
    }
    /**
     * 显示时间（毫秒，0为不自动关闭）
     * @param {number} 毫秒
     */
    显示时间(毫秒) {
        this.属性.duration = 毫秒;
        return this;
    }
    /**
     * 是否显示关闭按钮
     * @param {boolean} 是否
     */
    显示关闭按钮(是否) {
        this.属性.showClose = 是否;
        return this;
    }
    /**
     * 文字是否居中
     * @param {boolean} 是否
     */
    居中(是否) {
        this.属性.center = 是否;
        return this;
    }
    /**
     * 关闭时回调
     * @param {function} 方法
     */
    关闭回调(方法) {
        this.属性.onClose = 方法;
        return this;
    }
    /**
     * 距离窗口顶部偏移量
     * @param {number} 数值
     */
    顶部偏移量(数值) {
        this.属性.offset = 数值;
        return this;
    }
    /**
     * 设置根元素
     * @param {string|HTMLElement} 元素
     */
    根元素(元素) {
        this.属性.appendTo = 元素;
        return this;
    }
    /**
     * 合并内容相同的消息
     * @param {boolean} 是否
     */
    合并消息(是否) {
        this.属性.grouping = 是否;
        return this;
    }
    /**
     * 重复次数
     * @param {number} 次数
     */
    重复次数(次数) {
        this.属性.repeatNum = 次数;
        return this;
    }
    // 事件
    /**
     * 关闭当前 Message
     * @param {function} 方法
     */
    关闭事件(方法) {
        this.事件.close = 方法;
        return this;
    }
    /**
     * 获取属性
     * @returns {object} 属性对象
     */
    a获取属性() {
        return this.属性;
    }
    /**
     * 获取事件
     * @returns {object} 事件对象
     */
    a获取事件() {
        return this.事件;
    }
}
// ...existing code...
// ...existing code...

export class 弹出框 {
    constructor() {
        this.属性 = {};
        this.事件 = {};
    }
    /**
     * 是否显示弹出框
     * @param {boolean} 是否
     */
    显示(是否) {
        this.属性['v-model'] = 是否;
        return this;
    }
    /**
     * 弹出位置
     * @param {string} 位置 top/bottom/left/right
     */
    位置(位置) {
        this.属性.placement = 位置;
        return this;
    }
    /**
     * 触发方式
     * @param {string} 方式 click/hover/focus/contextmenu
     */
    触发方式(方式) {
        this.属性.trigger = 方式;
        return this;
    }
    /**
     * 弹出框宽度
     * @param {string|number} 宽度
     */
    宽度(宽度) {
        this.属性.width = 宽度;
        return this;
    }
    /**
     * 是否禁用
     * @param {boolean} 是否
     */
    禁用(是否) {
        this.属性.disabled = 是否;
        return this;
    }
    /**
     * 是否显示箭头
     * @param {boolean} 是否
     */
    显示箭头(是否) {
        this.属性.showArrow = 是否;
        return this;
    }
    /**
     * 获取属性
     */
    a获取属性() {
        return this.属性;
    }
    /**
     * 获取事件
     */
    a获取事件() {
        return this.事件;
    }
}

export class 标签页 {
    constructor() {
        this.属性 = {};
        this.事件 = {};
    }
    /**
     * 当前激活标签
     * @param {string|number} 标签名
     */
    激活标签(标签名) {
        this.属性['v-model'] = 标签名;
        return this;
    }
    /**
     * 标签页类型
     * @param {string} 类型 card/border-card
     */
    类型(类型) {
        this.属性.type = 类型;
        return this;
    }
    /**
     * 标签页位置
     * @param {string} 位置 top/right/bottom/left
     */
    位置(位置) {
        this.属性.tabPosition = 位置;
        return this;
    }
    /**
     * 是否可关闭
     * @param {boolean} 是否
     */
    可关闭(是否) {
        this.属性.closable = 是否;
        return this;
    }
    /**
     * 获取属性
     */
    a获取属性() {
        return this.属性;
    }
    /**
     * 获取事件
     */
    a获取事件() {
        return this.事件;
    }
}

export class 步骤条 {
    constructor() {
        this.属性 = {};
    }
    /**
     * 当前步骤
     * @param {number} 步骤
     */
    当前步骤(步骤) {
        this.属性.active = 步骤;
        return this;
    }
    /**
     * 步骤条方向
     * @param {string} 方向 horizontal/vertical
     */
    方向(方向) {
        this.属性.direction = 方向;
        return this;
    }
    /**
     * 步骤条类型
     * @param {string} 类型 simple
     */
    类型(类型) {
        this.属性.simple = 类型 === 'simple';
        return this;
    }
    /**
     * 获取属性
     */
    a获取属性() {
        return this.属性;
    }
}

export class 进度条 {
    constructor() {
        this.属性 = {};
    }
    /**
     * 进度百分比
     * @param {number} 百分比
     */
    百分比(百分比) {
        this.属性.percentage = 百分比;
        return this;
    }
    /**
     * 进度条类型
     * @param {string} 类型 line/circle/dashboard
     */
    类型(类型) {
        this.属性.type = 类型;
        return this;
    }
    /**
     * 进度条状态
     * @param {string} 状态 success/exception/warning
     */
    状态(状态) {
        this.属性.status = 状态;
        return this;
    }
    /**
     * 是否显示文字
     * @param {boolean} 是否
     */
    显示文字(是否) {
        this.属性['show-text'] = 是否;
        return this;
    }
    /**
     * 获取属性
     */
    a获取属性() {
        return this.属性;
    }
}

export class 上传 {
    constructor() {
        this.属性 = {};
        this.事件 = {};
    }
    /**
     * 上传地址
     * @param {string} 地址
     */
    上传地址(地址) {
        this.属性.action = 地址;
        return this;
    }
    /**
     * 是否支持多选
     * @param {boolean} 是否
     */
    多选(是否) {
        this.属性.multiple = 是否;
        return this;
    }
    /**
     * 是否显示文件列表
     * @param {boolean} 是否
     */
    显示文件列表(是否) {
        this.属性['show-file-list'] = 是否;
        return this;
    }
    /**
     * 上传前回调
     * @param {function} 方法
     */
    上传前回调(方法) {
        this.事件['before-upload'] = 方法;
        return this;
    }
    /**
     * 上传成功回调
     * @param {function} 方法
     */
    上传成功回调(方法) {
        this.事件['on-success'] = 方法;
        return this;
    }
    /**
     * 上传失败回调
     * @param {function} 方法
     */
    上传失败回调(方法) {
        this.事件['on-error'] = 方法;
        return this;
    }
    /**
     * 获取属性
     */
    a获取属性() {
        return this.属性;
    }
    /**
     * 获取事件
     */
    a获取事件() {
        return this.事件;
    }
}


export class 树形控件 {
    constructor() {
        this.属性 = {};
        this.事件 = {};
    }
        /**
     * 数据
     * @param {Array} 数据 - 树节点数据数组
     */
    数据(数据) {
        this.属性.data = 数据;
        return this;
    }
        /**
     * 节点键
     * @param {string} 键 - 唯一标识字段名
     */
    节点键(键) {
        this.属性['node-key'] = 键;
        return this;
    }
        /**
     * 默认展开
     * @param {Array} 数组 - 默认展开的节点key数组
     */
    默认展开(数组) {
        this.属性['default-expanded-keys'] = 数组;
        return this;
    }
        /**
     * 默认选中
     * @param {Array} 数组 - 默认选中的节点key数组
     */
    默认选中(数组) {
        this.属性['default-checked-keys'] = 数组;
        return this;
    }
        /**
     * 可多选
     * @param {boolean} 是否 - true显示复选框
     */
    可多选(是否) {
        this.属性['show-checkbox'] = 是否;
        return this;
    }
        /**
     * 禁用
     * @param {boolean} 是否 - true禁用
     */
    禁用(是否) {
        this.属性.disabled = 是否;
        return this;
    }
        /**
     * 可拖拽
     * @param {boolean} 是否 - true可拖拽
     */
    可拖拽(是否) {
        this.属性.draggable = 是否;
        return this;
    }
        /**
     * 节点点击事件
     * @param {function} 方法 - 节点点击回调
     */
    节点点击事件(方法) {
        this.事件['node-click'] = 方法;
        return this;
    }
        /**
     * 节点选中事件
     * @param {function} 方法 - 复选框选中回调
     */
    节点选中事件(方法) {
        this.事件['check-change'] = 方法;
        return this;
    }
    a获取属性() {
        return this.属性;
    }
    a获取事件() {
        return this.事件;
    }
}
/**
 * 时间选择器（TimePicker）
 */
export class 时间选择器 {
    constructor() {
        this.属性 = {};
        this.事件 = {};
    }
    /**
     * 绑定值
     * @param {string|Date} 值 - 当前选中的时间
     */
    绑定值(值) {
        this.属性['v-model'] = 值;
        return this;
    }
    /**
     * 类型
     * @param {string} 类型 - time/timerange
     */
    类型(类型) {
        this.属性.type = 类型;
        return this;
    }
    /**
     * 尺寸
     * @param {string} 尺寸 - large/default/small
     */
    尺寸(尺寸) {
        this.属性.size = 尺寸;
        return this;
    }
    /**
     * 禁用
     * @param {boolean} 是否 - true禁用
     */
    禁用(是否) {
        this.属性.disabled = 是否;
        return this;
    }
    /**
     * 占位文本
     * @param {string} 文本 - 输入框占位内容
     */
    占位文本(文本) {
        this.属性.placeholder = 文本;
        return this;
    }
    /**
     * 是否显示清除按钮
     * @param {boolean} 是否 - true显示清除按钮
     */
    显示清除按钮(是否) {
        this.属性.clearable = 是否;
        return this;
    }
    /**
     * 展示格式
     * @param {string} 格式 - 如'HH:mm:ss'
     */
    格式(格式) {
        this.属性.format = 格式;
        return this;
    }
    /**
     * 选择事件
     * @param {function} 方法 - 选中时间回调
     */
    选择事件(方法) {
        this.事件.change = 方法;
        return this;
    }
    /**
     * 获取属性
     * @returns {object}
     */
    a获取属性() {
        return this.属性;
    }
    /**
     * 获取事件
     * @returns {object}
     */
    a获取事件() {
        return this.事件;
    }
}

/**
 * 滑块（Slider）
 */
export class 滑块 {
    constructor() {
        this.属性 = {};
        this.事件 = {};
    }
    /**
     * 绑定值
     * @param {number} 值 - 当前滑块值
     */
    绑定值(值) {
        this.属性['v-model'] = 值;
        return this;
    }
    /**
     * 最小值
     * @param {number} 值 - 滑块最小值
     */
    最小值(值) {
        this.属性.min = 值;
        return this;
    }
    /**
     * 最大值
     * @param {number} 值 - 滑块最大值
     */
    最大值(值) {
        this.属性.max = 值;
        return this;
    }
    /**
     * 步长
     * @param {number} 值 - 每次移动的步长
     */
    步长(值) {
        this.属性.step = 值;
        return this;
    }
    /**
     * 禁用
     * @param {boolean} 是否 - true禁用
     */
    禁用(是否) {
        this.属性.disabled = 是否;
        return this;
    }
    /**
     * 是否显示输入框
     * @param {boolean} 是否 - true显示输入框
     */
    显示输入框(是否) {
        this.属性['show-input'] = 是否;
        return this;
    }
    /**
     * 是否显示提示
     * @param {boolean} 是否 - true显示tooltip
     */
    显示提示(是否) {
        this.属性['show-tooltip'] = 是否;
        return this;
    }
    /**
     * 值变化事件
     * @param {function} 方法 - 值变化回调
     */
    变化事件(方法) {
        this.事件.change = 方法;
        return this;
    }
    /**
     * 获取属性
     * @returns {object}
     */
    a获取属性() {
        return this.属性;
    }
    /**
     * 获取事件
     * @returns {object}
     */
    a获取事件() {
        return this.事件;
    }
}

/**
 * 分割线（Divider）
 */
export class 分割线 {
    constructor() {
        this.属性 = {};
    }
    /**
     * 方向
     * @param {string} 方向 - horizontal/vertical
     */
    方向(方向) {
        this.属性.direction = 方向;
        return this;
    }
    /**
     * 边距
     * @param {string} 边距 - 如'20px 0'
     */
    边距(边距) {
        this.属性.margin = 边距;
        return this;
    }
    /**
     * 文本
     * @param {string} 文本 - 分割线中间显示的文字
     */
    文本(文本) {
        this.属性.content = 文本;
        return this;
    }
    /**
     * 获取属性
     * @returns {object}
     */
    a获取属性() {
        return this.属性;
    }
}

/**
 * 折叠面板（Collapse）
 */
export class 折叠面板 {
    constructor() {
        this.属性 = {};
        this.事件 = {};
    }
    /**
     * 绑定值
     * @param {string|Array} 值 - 当前激活面板name
     */
    绑定值(值) {
        this.属性['v-model'] = 值;
        return this;
    }
    /**
     * 是否手风琴模式
     * @param {boolean} 是否 - true为手风琴模式
     */
    手风琴模式(是否) {
        this.属性.accordion = 是否;
        return this;
    }
    /**
     * 激活面板变化事件
     * @param {function} 方法 - 激活面板变化回调
     */
    变化事件(方法) {
        this.事件.change = 方法;
        return this;
    }
    /**
     * 获取属性
     * @returns {object}
     */
    a获取属性() {
        return this.属性;
    }
    /**
     * 获取事件
     * @returns {object}
     */
    a获取事件() {
        return this.事件;
    }
}

/**
 * 空状态（Empty）
 */
export class 空状态 {
    constructor() {
        this.属性 = {};
    }
    /**
     * 描述
     * @param {string} 文本 - 空状态描述文字
     */
    描述(文本) {
        this.属性.description = 文本;
        return this;
    }
    /**
     * 图片
     * @param {string} 图片 - 图片地址
     */
    图片(图片) {
        this.属性.image = 图片;
        return this;
    }
    /**
     * 图片大小
     * @param {number|string} 大小 - 图片宽度，单位px
     */
    图片大小(大小) {
        this.属性['image-size'] = 大小;
        return this;
    }
    /**
     * 获取属性
     * @returns {object}
     */
    a获取属性() {
        return this.属性;
    }
}

/**
 * 骨架屏（Skeleton）
 */
export class 骨架屏 {
    constructor() {
        this.属性 = {};
    }
    /**
     * 是否加载中
     * @param {boolean} 是否 - true显示骨架屏
     */
    加载中(是否) {
        this.属性.loading = 是否;
        return this;
    }
    /**
     * 行数
     * @param {number} 数量 - 显示几行骨架
     */
    行数(数量) {
        this.属性.rows = 数量;
        return this;
    }
    /**
     * 是否显示动画
     * @param {boolean} 是否 - true显示动画效果
     */
    动画(是否) {
        this.属性.animated = 是否;
        return this;
    }
    /**
     * 获取属性
     * @returns {object}
     */
    a获取属性() {
        return this.属性;
    }
}

/**
 * 图片（Image）
 */
export class 图片 {
    constructor() {
        this.属性 = {};
        this.事件 = {};
    }
    /**
     * 图片地址
     * @param {string} 地址 - 图片URL
     */
    地址(地址) {
        this.属性.src = 地址;
        return this;
    }
    /**
     * 占位图
     * @param {string} 图片 - 加载中显示的图片
     */
    占位图(图片) {
        this.属性['placeholder'] = 图片;
        return this;
    }
    /**
     * 错误图
     * @param {string} 图片 - 加载失败显示的图片
     */
    错误图(图片) {
        this.属性['error'] = 图片;
        return this;
    }
    /**
     * 是否懒加载
     * @param {boolean} 是否 - true开启懒加载
     */
    懒加载(是否) {
        this.属性.lazy = 是否;
        return this;
    }
    /**
     * 是否允许拖拽
     * @param {boolean} 是否 - true允许拖拽
     */
    拖拽(是否) {
        this.属性.draggable = 是否;
        return this;
    }
    /**
     * 图片加载完成事件
     * @param {function} 方法 - 图片加载完成回调
     */
    加载完成事件(方法) {
        this.事件.load = 方法;
        return this;
    }
    /**
     * 图片加载错误事件
     * @param {function} 方法 - 图片加载失败回调
     */
    加载错误事件(方法) {
        this.事件.error = 方法;
        return this;
    }
    /**
     * 获取属性
     * @returns {object}
     */
    a获取属性() {
        return this.属性;
    }
    /**
     * 获取事件
     * @returns {object}
     */
    a获取事件() {
        return this.事件;
    }
}

/**
 * 日历（Calendar）
 */
export class 日历 {
    constructor() {
        this.属性 = {};
        this.事件 = {};
    }
    /**
     * 绑定值
     * @param {Date} 值 - 当前显示的日期
     */
    绑定值(值) {
        this.属性['v-model'] = 值;
        return this;
    }
    /**
     * 一周的第一天
     * @param {number} 星期 - 1~7，1为周一
     */
    首日(星期) {
        this.属性['first-day-of-week'] = 星期;
        return this;
    }
    /**
     * 显示范围
     * @param {Date} 开始 - 开始日期
     * @param {Date} 结束 - 结束日期
     */
    范围(开始, 结束) {
        this.属性.range = [开始, 结束];
        return this;
    }
    /**
     * 日期点击事件
     * @param {function} 方法 - 日期点击回调
     */
    日期点击事件(方法) {
        this.事件['date-click'] = 方法;
        return this;
    }
    /**
     * 获取属性
     * @returns {object}
     */
    a获取属性() {
        return this.属性;
    }
    /**
     * 获取事件
     * @returns {object}
     */
    a获取事件() {
        return this.事件;
    }
}
